#include <iostream>
#include <cstring>
using namespace std;
const int N=110;

bool flg[N][N];
pair<int,int> match[N][N];
int st[N][N];
int n,t;
int ret;
int dx[4]={0,0,1,-1};
int dy[4]={1,-1,0,0};
bool find(int x,int y)
{
	for(int i=0;i<4;i++)
	{
		int nx=x+dx[i],ny=y+dy[i];
		if(nx<1 || ny>n || ny<1 || nx>n || flg[nx][ny] || st[nx][ny])
			continue;
		st[nx][ny]=true;
		if(match[nx][ny].first==0 || find(match[nx][ny].first,match[nx][ny].second))
		{
			match[nx][ny]={x,y};
			return true;
		}	
		
	}
	return false;
}
int main()
{
	cin>>n>>t;
	while(t--)
	{
		int x,y;
		cin>>x>>y;
		flg[x][y]=true;
	}
	
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if((i+j)%2 && !flg[i][j])
			{
				memset(st,0,sizeof(st));
				if(find(i,j))
					ret++;
			}
		}
	}
	cout<<ret<<endl;
	return 0;
}
